_require local "../../../../basis.smi"
_require local "../../../data/symbols/main/Symbol.smi"
_require local "../../../extensions/debug/main/Bug.smi"
(* _require local "../../../libs/env/main/SEnv.smi" *)

(* _require local "../../../compilePhases/nameevaluation/main/NameEvalUtils.smi" *)
_require local "../../../data/types/main/VarMap.smi"
(* _require local "../../../data/types/main/TypesBasics.smi" *)
_require local "../../../compilerIRs/idcalc/main/IDCalc.ppg.smi"
_require local "../../../compilerIRs/typedcalc/main/TypedCalc.ppg.smi"

_require "../../../compilePhases/nameevaluation/main/NameEvalEnv.ppg.smi"
_require "../../../compilePhases/typeinference/main/TypeInferenceContext.ppg.smi"

structure NameEvalEnvUtils =
struct
  val mergeTypeEnv : NameEvalEnv.topEnv * TypeInferenceContext.varEnv
                     -> NameEvalEnv.topEnv
  val resetInternalId : NameEvalEnv.topEnv -> NameEvalEnv.topEnv
end
